# 没有类型注解的函数
def greet(first_name, last_name):
    full_name = first_name + " " + last_name
    return "Hello, " + full_name


# 有类型注解的函数
def greet01(first_name: str, last_name: str) -> str:
    """
    解读这个函数：
        first_name: str：参数 first_name 应该是字符串。
        last_name: str：参数 last_name 应该是字符串。
        -> str：这个函数执行后会返回一个字符串。
        现在，任何人调用这个函数时，都能清晰地知道需要传递什么，以及会得到什么。
    """
    full_name = first_name + " " + last_name
    return "Hello, " + full_name


# 参数默认值 times:int = 1
def say_hello(name: str, times: int = 1) -> str:
    """向某人问好指定次数"""
    return " ".join([f"Hello, {name}!"] * times)


print(say_hello("Bob"))  # 输出：Hello, Bob!
print(say_hello("Alice", 3))  # 输出：Hello, Alice! Hello, Alice! Hello, Alice!
